{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5c29226b",
   "metadata": {},
   "source": [
    "## 反激电源计算"
   ]
  },
  {
   "cell_type": "code",
   "id": "cd5c4e39",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.472350Z",
     "start_time": "2025-05-23T06:07:03.468884Z"
    }
   },
   "source": [
    "# 头文件\n",
    "import math as m\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import control as ctrl\n",
    "# from scipy.interpolate import interp1d\n",
    "# from sympy import symbols, Eq, solve, I\n",
    "from pathlib import Path\n",
    "from json_pre import load_core_parameters\n",
    "import json"
   ],
   "outputs": [],
   "execution_count": 65
  },
  {
   "cell_type": "markdown",
   "id": "50afa236",
   "metadata": {},
   "source": [
    "### 输入参数"
   ]
  },
  {
   "cell_type": "code",
   "id": "dbdfe572",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.495825Z",
     "start_time": "2025-05-23T06:07:03.491113Z"
    }
   },
   "source": [
    "V_IN = 220  # 常规输入电压 (V)\n",
    "V_AC_MIN = 85  # 最小输入电压 (V)\n",
    "V_AC_MAX = 265  # 最大输入电压 (V)\n",
    "\n",
    "f_LINE_MIN = 47  # 最小输入频率 (Hz)\n",
    "f_LINE_MAX = 63  # 最大输入频率 (Hz)\n",
    "\n",
    "V_BIAS = 15  # 电压偏置 (V)  用于给IC供电\n",
    "\n",
    "P_OUT = 120  # 输出功率 (W)\n",
    "V_OUT = 24  # 输出电压 (V)\n",
    "I_OUT = P_OUT / V_OUT  # 输出电流(A)\n",
    "R_OUT = V_OUT / I_OUT  # 输出阻值(Ω)\n",
    "\n",
    "V_RIPPLE = 100e-3  # 输出纹波电压(V)\n",
    "V_DELTA = V_RIPPLE / V_OUT\n",
    "\n",
    "ETA = 0.85  # 效率\n",
    "\n",
    "F_SW = 100e3  # 开关频率 (Hz)\n",
    "\n",
    "P_IN = P_OUT / ETA  # 输入功率 (W)\n",
    "\n",
    "V_DS_Rated = 800  # MOSFET 额定电压 (V)\n",
    "\n",
    "K_RP = 0.8  # 电流脉动系数\n",
    "V_F = 0.7  # 输出二极管正向压降 (V)\n",
    "\n",
    "K_O = 0.4  # 反激变压器窗口填充系数\n",
    "B_W = 0.2  # 变压器的磁通量(T)\n",
    "B_MAX = 0.15  # 变压器的最大磁通密度 (mT)   DCM下，一般取0.2-0.26T；CCM下，一般取0.12-0.18T\n",
    "\n",
    "K_JP = 3  # 初级电流密度系数\n",
    "K_JS = 5.5  # 次级电流密度系数"
   ],
   "outputs": [],
   "execution_count": 66
  },
  {
   "cell_type": "markdown",
   "id": "e0b5d836",
   "metadata": {},
   "source": [
    "### 单相桥式整流滤波电路"
   ]
  },
  {
   "cell_type": "code",
   "id": "916664f6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.523514Z",
     "start_time": "2025-05-23T06:07:03.520055Z"
    }
   },
   "source": [
    "V_BULK_MIN = V_AC_MIN / 1.15  # 最小整流电压\n",
    "V_BULK_MAX = V_AC_MAX * m.sqrt(2)  # 最大整流电压\n",
    "I_AC_MAX = P_IN / V_AC_MIN  # 最大输入电流\n",
    "\n",
    "print(\"最小整流电压 V_BULK_MIN: %.2f\" % V_BULK_MIN)\n",
    "print(\"最大整流电压 V_BULK_MAX: %.2f\" % V_BULK_MAX)\n",
    "print(\"最大输入电流 I_AC_MAX: %.2f\" % I_AC_MAX)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最小整流电压 V_BULK_MIN: 73.91\n",
      "最大整流电压 V_BULK_MAX: 374.77\n",
      "最大输入电流 I_AC_MAX: 1.66\n"
     ]
    }
   ],
   "execution_count": 67
  },
  {
   "cell_type": "markdown",
   "id": "3691c65b",
   "metadata": {},
   "source": [
    "### 1. 输入电容"
   ]
  },
  {
   "cell_type": "code",
   "id": "c663572c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.582294Z",
     "start_time": "2025-05-23T06:07:03.577457Z"
    }
   },
   "source": [
    "C_IN = (\n",
    "               2 * P_IN * (0.25 + 1 / np.pi * np.arcsin(V_BULK_MIN / m.sqrt(2) / V_AC_MIN))\n",
    "       ) / ((2 * m.pow(V_AC_MIN, 2) - m.pow(V_BULK_MIN, 2)) * f_LINE_MIN)\n",
    "print(\"输入电容 C_in = %.2fuF\" % (C_IN * 1e6))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "输入电容 C_in = 308.03uF\n"
     ]
    }
   ],
   "execution_count": 68
  },
  {
   "cell_type": "markdown",
   "id": "224a634c",
   "metadata": {},
   "source": [
    "### 2. 变压器匝数比和最大占空比"
   ]
  },
  {
   "cell_type": "code",
   "id": "f72d80cf39739319",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.663500Z",
     "start_time": "2025-05-23T06:07:03.659143Z"
    }
   },
   "source": [
    "V_REFLECTED_0 = 0.8 * (V_DS_Rated - 1.3 * V_BULK_MAX)  # 最大反射输出电压\n",
    "print(\"最大反射电压 %.2fV\" % V_REFLECTED_0)\n",
    "V_REFLECTED = 220\n",
    "if V_REFLECTED > V_REFLECTED_0:\n",
    "    raise ValueError(\"反射电压太大，请重新设置！\")\n",
    "elif (V_REFLECTED_0 - V_REFLECTED) > 50:\n",
    "    raise ValueError(\"反射电压太小，请重新设置！\")\n",
    "print(\"反射电压取 %.2fV\\n\" % V_REFLECTED)\n",
    "\n",
    "N_PS = V_REFLECTED / V_OUT  # 匝数比\n",
    "print(\"计算匝数比 %.2f\" % N_PS)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最大反射电压 250.24V\n",
      "反射电压取 220.00V\n",
      "\n",
      "计算匝数比 9.17\n"
     ]
    }
   ],
   "execution_count": 69
  },
  {
   "cell_type": "markdown",
   "id": "49f9081a",
   "metadata": {},
   "source": [
    "### ... 变压器磁芯"
   ]
  },
  {
   "cell_type": "code",
   "id": "8f7b5d98",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.721326Z",
     "start_time": "2025-05-23T06:07:03.717639Z"
    }
   },
   "source": [
    "V_REFLECTED = N_PS * V_OUT\n",
    "print(f\"反射电压 V_REFLECTED = {V_REFLECTED:.2f} V\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "反射电压 V_REFLECTED = 220.00 V\n"
     ]
    }
   ],
   "execution_count": 70
  },
  {
   "cell_type": "code",
   "id": "911a3793",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.804019Z",
     "start_time": "2025-05-23T06:07:03.799808Z"
    }
   },
   "source": [
    "V_DIODE = V_BULK_MAX / N_PS + V_OUT  # 输出二极管电压\n",
    "print(\"输出二极管电压 %.2fV\\n\" % V_DIODE)\n",
    "\n",
    "D_MAX = (N_PS * (V_OUT + V_F)) / (V_BULK_MIN + N_PS * (V_OUT + V_F))  # 最大占空比\n",
    "print(\"CCM模式最大占空比 %.2f\" % D_MAX)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "输出二极管电压 64.88V\n",
      "\n",
      "CCM模式最大占空比 0.75\n"
     ]
    }
   ],
   "execution_count": 71
  },
  {
   "cell_type": "code",
   "id": "997a120c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.866248Z",
     "start_time": "2025-05-23T06:07:03.861249Z"
    }
   },
   "source": [
    "PQ_json_path = Path(\"Json/BYDZ_PQCore.json\")\n",
    "PQ_Core_data = load_core_parameters(PQ_json_path)\n",
    "\n",
    "Core_Type = \"PQ3530\"\n",
    "params = PQ_Core_data[Core_Type]\n",
    "Ae = params[\"Ae\"]  # 磁芯有效截面积 (mm^2)\n",
    "\n",
    "print(f\"磁芯有效截面积 Ae = {Ae:.2f} mm^2\")\n",
    "Aw = params[\"Aw\"]  # 磁芯窗口面积 (mm^2)\n",
    "print(f\"磁芯窗口面积 Aw = {Aw:.4f} mm^2\")\n",
    "AP = Ae * 1e-2 * Aw * 1e-2  # 磁芯有效面积 (cm^4)\n",
    "print(f\"磁芯有效面积 AP = {AP:.4f} cm^4\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "磁芯有效截面积 Ae = 180.70 mm^2\n",
      "磁芯窗口面积 Aw = 176.0000 mm^2\n",
      "磁芯有效面积 AP = 3.1803 cm^4\n"
     ]
    }
   ],
   "execution_count": 72
  },
  {
   "cell_type": "markdown",
   "id": "b3aba2f4",
   "metadata": {},
   "source": [
    "#### 变压器电感"
   ]
  },
  {
   "cell_type": "code",
   "id": "e0a8ac34",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:03.943402Z",
     "start_time": "2025-05-23T06:07:03.938816Z"
    }
   },
   "source": [
    "L_P_0 = 1 / 2 * m.pow(V_BULK_MIN * D_MAX, 2) / (P_IN * F_SW * 0.5)\n",
    "print(\"CCM 反激式的电感器计算容量为：%.2fmH\" % (1e3 * L_P_0))\n",
    "L_P = 0.6e-3\n",
    "print(\"CCM 反激式的电感器实际取值为：%.2fmH\\n\" % (1e3 * L_P))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CCM 反激式的电感器计算容量为：0.22mH\n",
      "CCM 反激式的电感器实际取值为：0.60mH\n",
      "\n"
     ]
    }
   ],
   "execution_count": 73
  },
  {
   "cell_type": "markdown",
   "id": "0e796646",
   "metadata": {},
   "source": [
    "迭代计算实际匝数和占空比"
   ]
  },
  {
   "cell_type": "code",
   "id": "b87f49f6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.011851Z",
     "start_time": "2025-05-23T06:07:04.006040Z"
    }
   },
   "source": [
    "D_MAX = (N_PS * (V_OUT + V_F)) / (V_BULK_MIN + N_PS * (V_OUT + V_F))  # 最大占空比\n",
    "D_MAX_TEMP = D_MAX\n",
    "I_1 = P_IN / (D_MAX * V_BULK_MIN)\n",
    "print(\"迭代开始时最大占空比 D_MAX = %.4f%%\" % (D_MAX * 100))\n",
    "while True:\n",
    "    # N_P_0 = V_BULK_MIN * 1 / 100e3 * D_MAX * 100 / (B_MAX * Ae * 1e-4)\n",
    "    N_P_0 = L_P * I_1 * 1e6 / (B_MAX * Ae)\n",
    "    N_P = round(N_P_0)\n",
    "    N_S_0 = N_P / N_PS\n",
    "    N_S = round(N_S_0)\n",
    "    N_PS = N_P / N_S\n",
    "\n",
    "    V_DIODE = V_BULK_MAX / N_PS + V_OUT  # 输出二极管电压\n",
    "\n",
    "    D_MAX_TEMP = (N_PS * (V_OUT + V_F)) / (\n",
    "            V_BULK_MIN + N_PS * (V_OUT + V_F)\n",
    "    )  # 最大占空比\n",
    "    if abs(D_MAX - D_MAX_TEMP) > 0.001:\n",
    "        D_MAX = D_MAX_TEMP\n",
    "        continue\n",
    "    else:\n",
    "        print(\"迭代结束时最大占空比 D_MAX = %.4f%%\" % (D_MAX * 100))\n",
    "        break\n",
    "\n",
    "print(f\"变压器一次侧匝数N_P = {N_P}\")\n",
    "print(f\"变压器二次侧匝数N_S = {N_S}\")\n",
    "print(f\"变压器实际变比 N_PS = {N_PS:.2f}\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "迭代开始时最大占空比 D_MAX = 75.3894%\n",
      "迭代结束时最大占空比 D_MAX = 75.7221%\n",
      "变压器一次侧匝数N_P = 56\n",
      "变压器二次侧匝数N_S = 6\n",
      "变压器实际变比 N_PS = 9.33\n"
     ]
    }
   ],
   "execution_count": 74
  },
  {
   "cell_type": "code",
   "id": "58d02fb6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.083014Z",
     "start_time": "2025-05-23T06:07:04.077427Z"
    }
   },
   "source": [
    "N_PA_0 = N_PS * V_OUT / V_BIAS  # 辅助电源匝数比\n",
    "print(\"计算辅助电源匝数比 %.2f\" % N_PA_0)\n",
    "N_PA = 13\n",
    "if (N_PS / N_PA) * V_OUT > 20:\n",
    "    raise ValueError(\"辅助电源匝数比太大，请重新设置！\")\n",
    "elif (N_PS / N_PA) * V_OUT < 15:\n",
    "    raise ValueError(\"辅助电源匝数比太小，请重新设置！\")\n",
    "print(\"辅助电源匝数比取 %.d\" % N_PA)\n",
    "print(\"辅助绕组电压%.2fV\\n\" % (N_PS / N_PA * V_OUT))\n",
    "\n",
    "N_A_0 = N_P / N_PA\n",
    "print(\"计算辅助绕组匝数 %.2f\" % N_A_0)\n",
    "N_A = round(N_A_0)\n",
    "N_PA = N_P / N_A\n",
    "print(\"辅助绕组匝数取 %.d\" % N_A)\n",
    "print(\"辅助绕组实际电压%.2fV\" % (N_PS / N_PA * V_OUT))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "计算辅助电源匝数比 14.93\n",
      "辅助电源匝数比取 13\n",
      "辅助绕组电压17.23V\n",
      "\n",
      "计算辅助绕组匝数 4.31\n",
      "辅助绕组匝数取 4\n",
      "辅助绕组实际电压16.00V\n"
     ]
    }
   ],
   "execution_count": 75
  },
  {
   "cell_type": "markdown",
   "id": "ab3289da",
   "metadata": {},
   "source": [
    "#### 气隙"
   ]
  },
  {
   "cell_type": "code",
   "id": "17ed4e4f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.143272Z",
     "start_time": "2025-05-23T06:07:04.139028Z"
    }
   },
   "source": [
    "mu_r = 1  # 空气相对磁导率\n",
    "mu_0 = 0.4 * np.pi * 1e-7  # 铁氧体相对磁导率\n",
    "l_g = mu_0 * mu_r * N_P * N_P * Ae * 1e-6 / L_P * 1e3  # 气隙长度\n",
    "print(f\"气隙长度 l_g = {l_g:.2f} mm\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "气隙长度 l_g = 0.12 mm\n"
     ]
    }
   ],
   "execution_count": 76
  },
  {
   "cell_type": "markdown",
   "id": "a4b22ff9",
   "metadata": {},
   "source": [
    "### 3. 初级电流"
   ]
  },
  {
   "cell_type": "code",
   "id": "370ae4ea",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.193273Z",
     "start_time": "2025-05-23T06:07:04.188334Z"
    }
   },
   "source": [
    "I_PK_MOSFET = (P_IN / (V_BULK_MIN * (N_PS * V_OUT / (V_BULK_MIN + N_PS * V_OUT)))) + (\n",
    "        V_BULK_MIN / (2 * L_P) * (N_PS * V_OUT / (V_BULK_MIN + N_PS * V_OUT)) / F_SW\n",
    ")\n",
    "print(\"CCM 反激式的初级MOSFET峰值电流为：%.2fA\\n\" % I_PK_MOSFET)\n",
    "\n",
    "I_RMS_MOSFET = np.sqrt(\n",
    "    (m.pow(D_MAX, 3) / 3) * m.pow(V_BULK_MIN / (L_P * F_SW), 2)\n",
    "    - ((m.pow(D_MAX, 2) * I_PK_MOSFET * V_BULK_MIN) / (L_P * F_SW))\n",
    "    + (D_MAX * m.pow(I_PK_MOSFET, 2))\n",
    ")\n",
    "print(\"CCM 反激式的初级MOSFET 均方根电流为：%.2fA\\n\" % I_RMS_MOSFET)\n",
    "\n",
    "I_PK_DIODE = N_PS * I_PK_MOSFET\n",
    "print(\"CCM 反激式的次级二极管峰值电流为：%.2fA\" % I_PK_DIODE)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CCM 反激式的初级MOSFET峰值电流为：3.00A\n",
      "\n",
      "CCM 反激式的初级MOSFET 均方根电流为：2.22A\n",
      "\n",
      "CCM 反激式的次级二极管峰值电流为：28.03A\n"
     ]
    }
   ],
   "execution_count": 77
  },
  {
   "cell_type": "markdown",
   "id": "31b3c81f",
   "metadata": {},
   "source": [
    "### 4. 输出电容器"
   ]
  },
  {
   "cell_type": "code",
   "id": "49f9bf11",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.253374Z",
     "start_time": "2025-05-23T06:07:04.248072Z"
    }
   },
   "source": [
    "C_OUT_MIN = (I_OUT * (N_PS * V_OUT) / (V_BULK_MIN + N_PS * V_OUT)) / (\n",
    "        V_DELTA * V_OUT * F_SW\n",
    ")\n",
    "print(\"最小输出电容%.2f uF\" % (C_OUT_MIN * 1e6))\n",
    "\n",
    "C_OUT = 500 * 1e-6\n",
    "if C_OUT < C_OUT_MIN:\n",
    "    raise Exception(\"输出电容过小\")\n",
    "elif C_OUT - C_OUT_MIN > 500e-6:\n",
    "    raise Exception(\"输出电容过大\")\n",
    "print(\"输出电容%.2f uF\" % (C_OUT * 1e6))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最小输出电容375.95 uF\n",
      "输出电容500.00 uF\n"
     ]
    }
   ],
   "execution_count": 78
  },
  {
   "cell_type": "markdown",
   "id": "d4349e66",
   "metadata": {},
   "source": [
    "### 5. 电流检测网络"
   ]
  },
  {
   "cell_type": "code",
   "id": "c43631fb",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:10:29.976427Z",
     "start_time": "2025-05-23T06:10:29.971335Z"
    }
   },
   "source": [
    "with open(\"Json/RC_Data.json\", \"r\") as f:\n",
    "    data = json.load(f)\n",
    "    RCS_list = data[\"RCS\"]\n",
    "# print(\"RCS列表：\", RCS_list)\n",
    "\n",
    "for R_CS_0 in RCS_list:\n",
    "    if m.pow(I_PK_MOSFET, 2) * R_CS_0 < 2:\n",
    "        R_CS = R_CS_0\n",
    "        continue\n",
    "    else:\n",
    "        break\n",
    "R_CS = 0.1\n",
    "print(\"电流采样电阻R_CS：%.2f Ohm\" % R_CS)\n",
    "\n",
    "V_OFFSET = 1 - I_PK_MOSFET * R_CS\n",
    "print(\"失调电压值V_OFFSET：%.2fV\" % V_OFFSET)\n",
    "\n",
    "R_CSF = 3e3\n",
    "V_REF = 5\n",
    "R_P = 1 / (V_OFFSET / V_REF / R_CSF) - R_CSF\n",
    "\n",
    "print(\"滤波元件 R_CSF：%.2f Ohm\" % R_CSF)\n",
    "print(\"分压电阻R_P：%.2f Ohm\" % R_P)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "电流采样电阻R_CS：0.10 Ohm\n",
      "失调电压值V_OFFSET：0.70V\n",
      "滤波元件 R_CSF：3000.00 Ohm\n",
      "分压电阻R_P：18439.02 Ohm\n"
     ]
    }
   ],
   "execution_count": 95
  },
  {
   "cell_type": "markdown",
   "id": "7b72d283",
   "metadata": {},
   "source": [
    "### 6. 栅极驱动电阻\n",
    "\n",
    "RG 是电源开关 QSW 的栅极驱动电阻器。该电阻值的选择必须与 EMI 符合性测试和效率测试结合起来进行。对 RG 使用较大的电阻值会减慢 MOSFET 的导通和关断速度。开关速度越慢 EMI 会降低，但开关损耗也会增加。必须仔细权衡开关损耗和 EMI 性能。对于此设计，选择了 10Ω 电阻器用于栅极驱动电阻器。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "626df812",
   "metadata": {},
   "source": [
    "### 7. VREF电容器\n",
    "\n",
    "高精度 5V 基准电压具有几项重要的功能。基准电压在内部分压至 2.5V，并连接到误差放大器的同相输入端，以实现精确地输出电压调节。基准电压的其他作用包括为振荡器上限和下限等功能设置内部偏置电流和阈值。因此，必须使用陶瓷电容器 (CVREF) 对基准电压进行旁路，为此转换器选择了 1μF、16V 陶瓷电容器。该电容器在物理印刷电路板布局布线上的位置必须尽可能靠近各自的 VREF 和 GROUND 引脚。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea33e58e",
   "metadata": {},
   "source": [
    "### 8. RT/CT\n",
    "内部振荡器使用计时电容器 (CCT) 和计时电阻器 (RRT) 来对振荡器频率和最大占空比进行编程。可根据节 8.2.3 中的曲线对工作频率进行编程，其中一旦选择了计时电容器，即可找到计时电阻器。计时电容器最好具有平坦的温度系数，这是大多数 COG 或 NPO 型电容器的典型特性。"
   ]
  },
  {
   "cell_type": "code",
   "id": "57d6d974",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:58.674707Z",
     "start_time": "2025-05-23T06:07:58.669249Z"
    }
   },
   "source": [
    "with open(\"Json/RC_Data.json\", \"r\") as f:\n",
    "    data = json.load(f)\n",
    "    R0603_list = data[\"R0603\"]\n",
    "    C0603_list = data[\"C0603\"]\n",
    "\n",
    "# print(\"C0603:\", C0603_list)\n",
    "# print(\"R0603:\", R0603_list)\n",
    "\n",
    "R_RT = C_CT = 0\n",
    "F_OSC_TEMP = 200e3\n",
    "for C0603 in C0603_list:\n",
    "    for R0603 in R0603_list:\n",
    "        F_OSC = 1.72 / (C0603 * R0603)\n",
    "        if abs(F_OSC - F_SW) < abs(F_OSC_TEMP - F_SW):\n",
    "            F_OSC_TEMP = F_OSC\n",
    "            R_RT = R0603\n",
    "            C_CT = C0603\n",
    "\n",
    "F_OSC = 1.72 / (C_CT * R_RT)\n",
    "print(\"计时电容器容量为：%.2f pF\" % (C_CT * 1e12))\n",
    "print(\"计时电阻器值为：%.2f kOhm\" % (R_RT * 1e-3))\n",
    "print(\"时钟频率为：%.2f kHz\" % (F_OSC / 1e3))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "计时电容器容量为：470.00 pF\n",
      "计时电阻器值为：36.00 kOhm\n",
      "时钟频率为：101.65 kHz\n"
     ]
    }
   ],
   "execution_count": 91
  },
  {
   "cell_type": "markdown",
   "id": "2f880b63",
   "metadata": {},
   "source": [
    "### 9. 启动电路\n",
    "\n",
    "在启动时，IC 通过高压电阻器 RSTART 直接从高压体获得功率。启动电阻器的选择是功率损耗和启动时间之间进行权衡。在最小输入电压下流过 RSTART 的电流必须高于 UVLO 条件下的 VCC 电流（最大值为 1mA）。为RSTART 选择了 100kΩ 的电阻，在低压线路条件下提供 1mA 的启动电流。启动电阻器在物理上由两个 50kΩ 电阻器串联组成，以满足高压要求和高压线路的额定功率。\n",
    "在 VCC 充电超过 UVLO 导通阈值后，UC2842 开始消耗全部工作电流。VCC 电容器需要提供足够的能量，以防止在启动期间，电压下降到 UVLO 关断阈值以下，然后输出才能够达到调节电平。大容量电容可容纳更多能量，但会导致启动时间变慢。该设计中选择了 120μF 电容器，以提供足够的能量并保持启动时间大概 2 秒。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f346c1d",
   "metadata": {},
   "source": [
    "### 10. 电压反馈补偿"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "53d191cd",
   "metadata": {},
   "source": [
    "#### 10.1 功率级点和零点"
   ]
  },
  {
   "cell_type": "code",
   "id": "d61fef66",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.442643Z",
     "start_time": "2025-05-23T06:07:04.424128Z"
    }
   },
   "source": [
    "L_P_Crit1 = R_OUT * m.pow(N_PS, 2) / (2 * F_SW) * m.pow(V_IN / (V_IN + V_OUT * N_PS), 2)\n",
    "L_P_Crit2 = (\n",
    "        R_OUT * m.pow(N_PS, 2) / (2 * F_SW) * m.pow(V_AC_MAX / (V_AC_MAX + V_OUT * N_PS), 2)\n",
    ")\n",
    "L_P_Crit3 = (\n",
    "        R_OUT * m.pow(N_PS, 2) / (2 * F_SW) * m.pow(V_AC_MIN / (V_AC_MIN + V_OUT * N_PS), 2)\n",
    ")\n",
    "print(\"220V时电路220V时电路 %.2f \" % (L_P_Crit1 * 1e3), \"mH\")\n",
    "print(\"265V时电路 220V时电路%.2f \" % (L_P_Crit2 * 1e3), \"mH\")\n",
    "print(\"85V时电路的临界电感 %.2f \" % (L_P_Crit3 * 1e3), \"mH\")\n",
    "\n",
    "if L_P > L_P_Crit3:\n",
    "    print(\"85V时电路工作在CCM模式\")\n",
    "if L_P > L_P_Crit1:\n",
    "    print(\"220V时电路工作在CCM模式\")\n",
    "if L_P > L_P_Crit2:\n",
    "    print(\"265V时电路工作在CCM模式\")\n",
    "\n",
    "if (L_P > L_P_Crit3) & (L_P > L_P_Crit1) & (L_P > L_P_Crit2):\n",
    "    print(\"电路在整个输入电压范围内工作在CCM模式\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "220V时电路220V时电路 0.51  mH\n",
      "265V时电路 220V时电路0.61  mH\n",
      "85V时电路的临界电感 0.16  mH\n",
      "85V时电路工作在CCM模式\n",
      "220V时电路工作在CCM模式\n"
     ]
    }
   ],
   "execution_count": 81
  },
  {
   "cell_type": "code",
   "id": "cb4cb288",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.509152Z",
     "start_time": "2025-05-23T06:07:04.503575Z"
    }
   },
   "source": [
    "R_CS_0 = 1 / I_PK_MOSFET\n",
    "A_CS = 3  # 内部电流检测增益\n",
    "D = N_PS * V_OUT / (V_BULK_MIN + (N_PS * V_OUT))\n",
    "Tau_L = 2 * L_P * F_SW / (R_OUT * m.pow(N_PS, 2))\n",
    "M = V_OUT * N_PS / V_BULK_MIN\n",
    "G_0 = (\n",
    "        R_OUT * N_PS / (R_CS_0 * A_CS) * 1 / (m.pow(1 - D, 2) / Tau_L + (2 * M) + 1)\n",
    ")  # 直流开环增益\n",
    "print(\"直流开环增益为：%.4f\" % G_0, \"dB\")\n",
    "print(\"\")\n",
    "\n",
    "R_ESR = 0.8 / 4\n",
    "Omega_ESR_Z = 1 / (R_ESR * C_OUT)\n",
    "F_ESR_Z = Omega_ESR_Z / (2 * m.pi)\n",
    "print(\"ESR频率为：%.2f\" % F_ESR_Z, \"Hz\")\n",
    "print(\"\")\n",
    "\n",
    "Omega_RHP_Z = R_OUT * m.pow(1 - D, 2) * m.pow(N_PS, 2) / (L_P * D)\n",
    "F_RHP_Z = Omega_RHP_Z / (2 * m.pi)\n",
    "print(\"RHP频率为：%.2f\" % F_RHP_Z, \"Hz\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "直流开环增益为：6.1645 dB\n",
      "\n",
      "ESR频率为：1591.55 Hz\n",
      "\n",
      "RHP频率为：9080.05 Hz\n"
     ]
    }
   ],
   "execution_count": 82
  },
  {
   "cell_type": "markdown",
   "id": "c0e3f868",
   "metadata": {},
   "source": [
    "功率级有一个主导极点 ωP1，它位于感兴趣的区域中，处在较低的频率 fP1 处，与占空比 D、输出负载和输出电容有关。还有一个双极点放在转换器开关频率的一半处。"
   ]
  },
  {
   "cell_type": "code",
   "id": "46bc24a5",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.559675Z",
     "start_time": "2025-05-23T06:07:04.555714Z"
    }
   },
   "source": [
    "Omega_P1 = (m.pow(1 - D, 3) / Tau_L + 1 + D) / (R_OUT * C_OUT)\n",
    "F_P1 = Omega_P1 / (2 * m.pi)\n",
    "Omega_P2 = m.pi * F_SW\n",
    "F_P2 = F_SW / 2\n",
    "print(\"F_P1: %.2f Hz\" % F_P1)\n",
    "print(\"F_P2: %.2f Hz\" % F_P2)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "F_P1: 119.71 Hz\n",
      "F_P2: 50000.00 Hz\n"
     ]
    }
   ],
   "execution_count": 83
  },
  {
   "cell_type": "markdown",
   "id": "432b74b9",
   "metadata": {},
   "source": [
    "#### 10.2 斜率补偿\n",
    "\n",
    "由理想的质量系数Q_P来计算M_ideal，再由电感器上升斜率S_n来计算补偿斜率 S_e"
   ]
  },
  {
   "cell_type": "code",
   "id": "55217756",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.605398Z",
     "start_time": "2025-05-23T06:07:04.600435Z"
    }
   },
   "source": [
    "M_ideal = (1 / m.pi + 0.5) / (1 - D)\n",
    "M_C = M_ideal\n",
    "print(\"斜坡补偿系数的理想值 M_ideal = %.4f\" % M_ideal)\n",
    "S_n = V_BULK_MIN * R_CS_0 / L_P  # V/s  Ω\n",
    "print(\"电感器上升斜率 S_n = %.3f mV/us\" % (S_n * 1e-3))\n",
    "S_e = (M_C - 1) * S_n  # V/s\n",
    "print(\"补偿斜率 S_e = %.3f mV/us\" % (S_e * 1e-3))\n",
    "Q_P_0 = 1 / (m.pi * (M_C * (1 - D) - 0.5))\n",
    "print(\"理想质量系数 Q_P_0 = %.3f\" % Q_P_0)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "斜坡补偿系数的理想值 M_ideal = 3.2983\n",
      "电感器上升斜率 S_n = 41.016 mV/us\n",
      "补偿斜率 S_e = 94.266 mV/us\n",
      "理想质量系数 Q_P_0 = 1.000\n"
     ]
    }
   ],
   "execution_count": 84
  },
  {
   "cell_type": "code",
   "id": "7579cc8c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:04.654235Z",
     "start_time": "2025-05-23T06:07:04.649950Z"
    }
   },
   "source": [
    "t_ON_min = D / F_SW\n",
    "V_OSC_Cpp = 1.7\n",
    "S_OSC = V_OSC_Cpp / t_ON_min\n",
    "print(\"%.2f mV/us\" % (S_OSC * 1e-6 * 1e3))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "226.09 mV/us\n"
     ]
    }
   ],
   "execution_count": 85
  },
  {
   "cell_type": "code",
   "id": "adf08a78",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:08:12.273146Z",
     "start_time": "2025-05-23T06:08:12.267096Z"
    }
   },
   "source": [
    "with open(\"Json/RC_Data.json\") as f:\n",
    "    data = json.load(f)\n",
    "    R0603_list = data[\"R0603\"]\n",
    "\n",
    "Q_P = 1.2\n",
    "\n",
    "R_RAMP = R_CSF = 0\n",
    "\n",
    "for R0603_RAMP in R0603_list:\n",
    "    if R0603_RAMP < 10e3:\n",
    "        continue\n",
    "    for R0603_CSF in R0603_list:\n",
    "        S_e_Temp = S_OSC / (R0603_RAMP / R0603_CSF + 1)\n",
    "        M_C_Temp = S_e_Temp / S_n + 1\n",
    "        Q_P_Temp = 1 / (m.pi * (M_C_Temp * (1 - D) - 0.5))\n",
    "        if abs(Q_P - Q_P_0) > abs(Q_P_Temp - Q_P_0):\n",
    "            Q_P = Q_P_Temp\n",
    "            R_RAMP = R0603_RAMP\n",
    "            R_CSF = R0603_CSF\n",
    "\n",
    "print(\"R_RAMP = %.2f\" % (R_RAMP * 1e-3), \"kOhm\")\n",
    "print(\"R_CSF = %.2f\" % (R_CSF * 1e-3), \"kOhm\")\n",
    "print(\"Q_P = %.4f\" % Q_P)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R_RAMP = 18.00 kOhm\n",
      "R_CSF = 13.00 kOhm\n",
      "Q_P = 0.9897\n"
     ]
    }
   ],
   "execution_count": 92
  },
  {
   "cell_type": "markdown",
   "id": "986e7de8",
   "metadata": {},
   "source": [
    "#### 10.3 开环增益"
   ]
  },
  {
   "cell_type": "code",
   "id": "2f3bba48",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:09:20.818622Z",
     "start_time": "2025-05-23T06:09:20.814852Z"
    }
   },
   "source": "s = ctrl.TransferFunction.s",
   "outputs": [],
   "execution_count": 94
  },
  {
   "cell_type": "code",
   "id": "2a277474",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:05.747227Z",
     "start_time": "2025-05-23T06:07:04.788606Z"
    }
   },
   "source": [
    "H_OPEN = (\n",
    "        G_0\n",
    "        * ((1 + s / Omega_ESR_Z) * (1 - s / Omega_RHP_Z) / (1 + s / Omega_P1))\n",
    "        * (1 / (1 + s / (Omega_P2 * Q_P) + s * s / m.pow(Omega_P2, 2)))\n",
    ")\n",
    "\n",
    "freq_Hz = np.logspace(0, 5, 1000)\n",
    "omega = 2 * np.pi * freq_Hz\n",
    "\n",
    "plt.figure()\n",
    "ctrl.bode_plot(H_OPEN, omega=omega, dB=True, Hz=True, display_margins=True)\n",
    "plt.grid(True)\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 88
  },
  {
   "cell_type": "markdown",
   "id": "58294029",
   "metadata": {},
   "source": [
    "#### 10.4 补偿环路"
   ]
  },
  {
   "cell_type": "code",
   "id": "6bfe3421",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:05.770612Z",
     "start_time": "2025-05-23T06:07:05.766969Z"
    }
   },
   "source": [
    "F_BW = F_RHP_Z / 4\n",
    "print(\"CCM 反激式的带宽: %.2f Hz\" % F_BW)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CCM 反激式的带宽: 2270.01 Hz\n"
     ]
    }
   ],
   "execution_count": 89
  },
  {
   "cell_type": "markdown",
   "id": "68920ac8",
   "metadata": {},
   "source": [
    "##### 10.4.1 光耦TL431"
   ]
  },
  {
   "cell_type": "code",
   "id": "bbe94562",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:14:10.754883Z",
     "start_time": "2025-05-23T06:14:10.748257Z"
    }
   },
   "source": [
    "REF_TL431 = 2.495  #  TL431参考值\n",
    "I_FB_REF = 1e-3  #  分压器电流\n",
    "R_FBU = (V_OUT - REF_TL431) / I_FB_REF\n",
    "R_FBB = REF_TL431 / (V_OUT - REF_TL431) * R_FBU\n",
    "print(\"分压器R_FBU:\", R_FBU)\n",
    "print(\"分压器R_FBB:\", R_FBB)\n",
    "\n",
    "with open(\"Json/RC_Data.json\", \"r\") as f:\n",
    "    data = json.load(f)\n",
    "    R0603_list = data[\"R0603\"]\n",
    "\n",
    "for R0603_FBU in R0603_list:\n",
    "    if ((V_OUT - REF_TL431) / 1e-3 > R0603_FBU) | (\n",
    "            (V_OUT - REF_TL431) / 0.5e-3 < R0603_FBU\n",
    "    ):\n",
    "        continue\n",
    "    else:\n",
    "        R_FBU = R0603_FBU\n",
    "        break\n",
    "\n",
    "R_FBB = REF_TL431 / (V_OUT - REF_TL431) * R_FBU\n",
    "\n",
    "print(\"分压器R_FBU实际值:\", R_FBU)\n",
    "print(\"分压器R_FBB实际值: %.2f\" % R_FBB)"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分压器R_FBU: 21505.0\n",
      "分压器R_FBB: 2495.0\n",
      "分压器R_FBU实际值: 22000.0\n",
      "分压器R_FBB实际值: 2552.43\n"
     ]
    }
   ],
   "execution_count": 96
  },
  {
   "cell_type": "markdown",
   "id": "35797947",
   "metadata": {},
   "source": [
    "为了获得良好的相位裕度，需要一个补偿器零点 fCOMPz，并且必须将其放置在所需带宽的 1/10 处"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 798,
   "id": "4019486c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:05.862640100Z",
     "start_time": "2025-05-19T06:41:47.415821Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "F_COMP_Z = 227.00 Hz\n",
      "R_COMP_Z = 70.11 kOhm\n"
     ]
    }
   ],
   "source": [
    "C_COMP_Z = 0.01e-6\n",
    "F_COMP_Z = F_BW / 10\n",
    "Omega_COMP_Z = 2 * np.pi * F_COMP_Z\n",
    "R_COMP_Z = 1 / (Omega_COMP_Z * C_COMP_Z)\n",
    "print(\"F_COMP_Z = %.2f Hz\" % F_COMP_Z)\n",
    "print(\"R_COMP_Z = %.2f kOhm\" % (R_COMP_Z / 1e3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 799,
   "id": "efffe278",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:05.863140300Z",
     "start_time": "2025-05-19T06:41:47.508462Z"
    }
   },
   "outputs": [],
   "source": "G_TL431 = (R_COMP_Z + 1 / (s * C_COMP_Z)) * 1 / R_FBU"
  },
  {
   "cell_type": "code",
   "execution_count": 800,
   "id": "70c9910a",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:05.873739300Z",
     "start_time": "2025-05-19T06:41:47.600901Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R_COMP_P = 10000.0000 Ohm\n",
      "C_COMP_P = 10.0000 nF\n"
     ]
    }
   ],
   "source": [
    "R_COMP_P = 10e3\n",
    "C_COMP_P = 1 / (Omega_ESR_Z * R_COMP_P)\n",
    "print(\"R_COMP_P = %.4f Ohm\" % R_COMP_P)\n",
    "print(\"C_COMP_P = %.4f nF\" % (C_COMP_P * 1e9))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 801,
   "id": "fc401bbc",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:05.875240300Z",
     "start_time": "2025-05-19T06:41:47.720571Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[[2103.50056522]]]\n",
      "R_LED = 6200.00 Ohm\n"
     ]
    }
   ],
   "source": [
    "R_FBG = 5.1e3\n",
    "G_EA = (R_COMP_P / R_FBG) * (1 / (1 + s * C_COMP_P * R_COMP_P))\n",
    "CTR = 1\n",
    "R_OPTO = 1e3\n",
    "R_LED = 1.3e3\n",
    "# G_OPTO = CTR * R_OPTO / R_LED\n",
    "\n",
    "# omega = np.logspace(0, 6, 1000)\n",
    "\n",
    "response_H_OPEN = H_OPEN.frequency_response(F_BW * 2 * np.pi)\n",
    "response_G_EA = G_EA.frequency_response(F_BW * 2 * np.pi)\n",
    "response_G_TL431 = G_TL431.frequency_response(F_BW * 2 * np.pi)\n",
    "\n",
    "mag_H_OPEN = response_H_OPEN.magnitude\n",
    "mag_G_EA = response_G_EA.magnitude\n",
    "mag_G_TL431 = response_G_TL431.magnitude\n",
    "\n",
    "R_LED_0 = mag_H_OPEN * mag_G_EA * mag_G_TL431 * CTR * R_OPTO\n",
    "print(R_LED_0)\n",
    "R_LED = 6.2e3\n",
    "print(\"R_LED = %.2f Ohm\" % R_LED)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 802,
   "id": "63bb8c54",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:05.878740600Z",
     "start_time": "2025-05-19T06:41:47.810542Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "G_OPTO = CTR * R_OPTO / R_LED\n",
    "\n",
    "G_CLOSED = (\n",
    "                   H_OPEN\n",
    "                   * (CTR * R_OPTO / R_LED)\n",
    "                   * (R_COMP_P / R_FBG)\n",
    "                   * (1 / (1 + s * C_COMP_P * R_COMP_P))\n",
    "           ) * ((R_COMP_P + (1 / (s * C_COMP_Z))) / R_FBU)\n",
    "\n",
    "freq_Hz = np.logspace(0, 5, 1000)\n",
    "omega = 2 * np.pi * freq_Hz\n",
    "\n",
    "plt.figure()\n",
    "ctrl.bode_plot(G_CLOSED, omega=omega, dB=True, Hz=True, display_margins=True)\n",
    "plt.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "191094ae",
   "metadata": {},
   "source": [
    "### 变压器绕组计算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 805,
   "id": "e0a51102",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "趋肤深度 D_m = 0.4181 mm\n",
      "初级绕组利兹线类型： ['0.1*30', '0.1*35', '0.1*40', '0.1*50', '0.1*60', '0.1*70', '0.1*80', '0.1*90', '0.1*100', '0.1*120', '0.1*150', '0.1*160', '0.1*180', '0.1*200', '0.1*250', '0.1*300', '0.1*350', '0.1*400', '0.1*500', '0.25*7', '0.30*7']\n",
      "次级绕组利兹线类型： ['0.1*160', '0.1*180', '0.1*200', '0.1*250', '0.1*300', '0.1*350', '0.1*400', '0.1*500']\n"
     ]
    }
   ],
   "source": [
    "with open(\"BYDZ_Lizt.json\", \"r\") as f:\n",
    "    Lizt_data = json.load(f)\n",
    "\n",
    "D_m = 2 * 66.1e-3 / m.sqrt(F_SW)\n",
    "print(\"趋肤深度 D_m = %.4f mm\" % (D_m * 1e3))\n",
    "\n",
    "# print(type(Lizt_data[\"0.1*10\"][\"d\"]))\n",
    "I_RMS_DIODE = I_RMS_MOSFET * N_PS\n",
    "\n",
    "# J_p = I_PRMS / ((m.pi * pow(D_p, 2) / 4) * m.pi * P_p)\n",
    "\n",
    "Lizt_P_list = []\n",
    "Lizt_S_list = []\n",
    "\n",
    "for Lizt_Type in Lizt_data:\n",
    "    K_JP_Temp = I_RMS_MOSFET / ((m.pi * pow(Lizt_data[Lizt_Type][\"d\"], 2) / 4) * m.pi * Lizt_data[Lizt_Type][\"N\"])\n",
    "    if K_JP_Temp < K_JP:\n",
    "        Lizt_P_list.append(Lizt_Type)\n",
    "\n",
    "for Lizt_Type in Lizt_data:\n",
    "    K_JS_Temp = I_RMS_DIODE / ((m.pi * pow(Lizt_data[Lizt_Type][\"d\"], 2) / 4) * m.pi * Lizt_data[Lizt_Type][\"N\"])\n",
    "    if K_JS_Temp < K_JS:\n",
    "        Lizt_S_list.append(Lizt_Type)\n",
    "\n",
    "print(\"初级绕组利兹线类型：\", Lizt_P_list)\n",
    "# print(\"初级绕组利兹线外径：\", Lizt_data[Lizt_P][\"D\"], \"mm\")\n",
    "print(\"次级绕组利兹线类型：\", Lizt_S_list)\n",
    "# print(\"次级绕组利兹线外径：\", Lizt_data[Lizt_S][\"D\"], \"mm\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a6f64bcc",
   "metadata": {},
   "source": [
    "### 12. RCD电路"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 804,
   "id": "7dfaf972",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-23T06:07:05.894766300Z",
     "start_time": "2025-05-19T06:41:48.682027Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V_clamp = 486.09 V\n",
      "C_clamp = 121.47 pF\n",
      "R_clamp = 778.19 Ohm\n"
     ]
    }
   ],
   "source": [
    "V_MOS_MAX = V_DS_Rated * 0.7  # 最大MOSfet电压\n",
    "V_clamp = V_MOS_MAX - V_BULK_MIN\n",
    "L_K = 2.53 * 1e-6\n",
    "print(f\"V_clamp = {V_clamp:.2f} V\")\n",
    "C_clamp = L_K * m.pow(I_PK_MOSFET, 2) / (m.pow(V_clamp, 2) - m.pow(V_REFLECTED, 2))\n",
    "print(f\"C_clamp = {C_clamp * 1e12:.2f} pF\")\n",
    "R_clamp = m.pow(V_clamp, 2) / (0.5 * L_K * m.pow(I_PK_MOSFET, 2) * F_SW * (V_clamp - V_REFLECTED))\n",
    "print(f\"R_clamp = {R_clamp:.2f} Ohm\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
